#pragma once
#include "CDataBase.h"


# if defined(FLEX_LIB)
#  define FLEX_EXPORT __declspec(dllexport)
# else
#  define FLEX_EXPORT __declspec(dllimport)
# endif


struct DataInfo
{
	double  x;
	double  y;
	double  R;
	double  P0;
	double  P1;
	double  P2;
public:
	DataInfo()
	{
		x = 0;
		y = 0;
		R = 0;
		P0 = 0;
		P1 = 0;
		P2 = 0;
	}
};


struct OffsetLimit
{
	double  X_N;
	double  X_P;
	double 	Y_N;
	double 	Y_P;
	double 	R_N;
	double 	R_P;
	double  StdX;
	double  StdY;
	double  StdR;
public:
	OffsetLimit()
	{
		X_N = 0;
		X_P = 0;
		Y_N = 0;
		Y_P = 0;
		R_N = 0;
		R_P = 0;
		StdX = 0;
		StdY = 0;
		StdR = 0;
	}
};


struct _ImgRsult
{
	DataInfo data;
	QString strCode;
};


class FLEX_EXPORT flexDlgData :public CDataBase
{
private:
	friend class boost::serialization::access;
	template<class Archive>
	void serialize(Archive& ar, const unsigned int version)
	{
		ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(CDataBase);
	}

public:
	flexDlgData();
	~flexDlgData();
	virtual void writeData(MyAlgoDialog* p) override;
	virtual void readData(MyAlgoDialog* p)  override;
};

